
#pragma once


static void test_ids( AllocContext * c )
{
    Id * o1;

    alloc_id( c, "asd", 0 );
    alloc_id( c, "b", 0 );
    alloc_id( c, "a", 0 );
    o1 = alloc_id( c, "cip", 0 );
    alloc_id( c, "hwangf", 0 );
    alloc_id( c, "a", 0 );
    alloc_id( c, "asd", 0 );

    printf( "s = %s\n", o1->str );
}

static void test_lists( AllocContext * ac )
{
    List *    lst;
    Id *      id;
    Id *      ns1 = alloc_id( ac, "tales", 0 );
    Id *      ns2 = alloc_id( ac, "lor", ns1 );
    Id *      id2 = alloc_id( ac, "keyword", 0 );

    lst = alloc_list( ac );
    id = alloc_id( ac, "frodo", ns2 );

    list_add( ac, lst, (Obj *)id );
    list_add( ac, lst, g_t_obj );
    list_add( ac, lst, (Obj *)id2 );
    list_add( ac, lst, clone_obj( ac, (Obj *)lst) );

    //lst2 = list_push( c, lst, g_nil_obj );
    //list_add( c, lst, (Obj *)lst2 );

    print_obj( (Obj *)lst, stdout );

    puts( "\n--\n" );
    //dump_mem_state( c, stdout );
}

